package com.synergy.stockflow.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.synergy.stockflow.entity.SysDictType;
import com.baomidou.mybatisplus.extension.service.IService;
import com.synergy.stockflow.entity.bo.SysDictTypeQueryBO;
import com.synergy.stockflow.entity.vo.SysDictTypeVO;

public interface SysDictTypeService extends IService<SysDictType>{

    /**
     * 分页查询字典类型列表
     *
     * <p>根据查询条件 {@link SysDictTypeQueryBO} 进行模糊/精确匹配，支持按类型编码、类型名称、状态等条件筛选，
     * 并返回分页的字典类型数据。</p>
     *
     * @param page  分页参数对象，包含当前页码和每页大小，由 MyBatis Plus 提供，例如 new Page<>(1, 10)
     * @param query 查询条件封装对象，包含 typeCode、typeName、status 等可选过滤条件
     * @return {@link Page<SysDictTypeVO>} 分页结果，包含符合条件的字典类型列表及分页信息（总条数、当前页等）
     *
     * @see SysDictType
     * @see SysDictTypeQueryBO
     * @see Page
     *
     * @author YHCinaMoll
     * @since 2025-08-06
     */
    Page<SysDictTypeVO> pageByQuery(Page<SysDictType> page, SysDictTypeQueryBO query);
}
